package com.diyizu.youdianda.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 菜单表
 */
@Data
public class SysMenu {
    private Long id;
    //父级编号
    private Long pid;
    //路由名称
    private String path;
    //组件路径
    private String component;
    //菜单名称
    private String title;
    //图标
    private String icon;
    //是否在菜单中显示 0不显示 1显示
    @JsonProperty("is_show")    //前端传递属性名
    private Integer isShow;
    //是否缓存 0否 1是
    @JsonProperty("is_cache")   //前端传递属性名
    private Integer isCache;
    //是否外联 0否 1是
    @JsonProperty("is_link")    //前端传递属性名
    private Integer isLink;
    //重定向地址
    private String redirect;
    //创建时间
    @JsonProperty("create_date")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createDate;
    //更新时间
    @JsonProperty("update_date")
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime updateDate;
    //删除标记：0未删除，1删除
    @JsonProperty("del_flag")
    @TableLogic(value = "0", delval = "1")
    private Integer delFlag;
    //类型 1菜单 2按钮
    private Integer type;
    //排序
    private BigDecimal sort;
    //权限标识
    private String mark;
    //是否为默认数据 null不是 1是
    @JsonProperty("default_data")
    private String defaultData;
}
